<?php
class Produto{
	private $codebar;
	private $id_marca;
	private $id_grupo;
	private $nome;
	private $quantidade;
	private $valorcusto;
	private $valorvenda;
	private $limitedesc;
	private $datacompra;
	private $datavenc;
	private $minimo;
        private $filial;

	public function __construct(){
		$this->codebar = NULL;
		$this->id_marca = NULL;
		$this->id_grupo = NULL;
		$this->nome = NULL;
		$this->quantidade = NULL;
		$this->valorcusto = NULL;
		$this->valorvenda = NULL;
		$this->limitedesc = NULL;
		$this->datacompra = date("Y-m-d");
		$this->datavenc = NULL;
		$this->minimo = NULL;
                $this->filial = NULL;
	}

	public function get_codebar(){
		return $this->codebar;
	}
	public function get_id_marca(){
		return $this->id_marca;
	}
	public function get_id_grupo(){
		return $this->id_grupo;
	}
        public function get_marca(){
                $sql = "select nome from Marca where id = '".$this->id_marca."'";
                $conexao = db::conecta();
                $result = db::query($sql, $conexao);
                db::close($conexao);
                $nome = db::fetch_array($result);
		return $nome[0];
	}
	public function get_grupo(){
                $sql = "select nomegrupo from Grupo where id = '".$this->id_grupo."'";
                $conexao = db::conecta();
                $result = db::query($sql, $conexao);
                db::close($conexao);
                $nome = db::fetch_array($result);
		return $nome[0];
	}
	public function get_nome(){
		return $this->nome;
	}
	public function get_quantidade(){
		return $this->quantidade;
	}
	public function get_valorcusto(){
                return add_0($this->valorcusto);
	}
	public function get_valorvenda(){
                return add_0($this->valorvenda);
	}
	public function get_limitedesc(){
		return $this->limitedesc;
	}
	public function get_datacompra(){
		$ano = substr($this->datacompra, 0, 4);
		$mes = substr($this->datacompra, 5, 2);
		$dia = substr($this->datacompra, 8, 2);
		$r = $dia."/".$mes."/".$ano;
		return $r;
	}
	public function get_datavenc(){
		$ano = substr($this->datavenc, 0, 4);
		$mes = substr($this->datavenc, 5, 2);
		$dia = substr($this->datavenc, 8, 2);
		$r = $dia."/".$mes."/".$ano;
		return $r;
	}
	public function get_minimo(){
		return $this->minimo;
	}
        public function get_filial(){
		return $this->filial;
	}
        
        
	
	
	public function set_codebar($codebar){
		if ($codebar != '' && valida::numero($codebar)){
			$this->codebar = $codebar;
			return 1;
		}else{
			return 0;
		}
	}
	public function set_id_marca($id_marca){
		if ($id_marca != '' && valida::numero($id_marca)){
			$this->id_marca = $id_marca;
			return 1;
		}else{
			return 0;
		}
	}
	public function set_id_grupo($id_grupo){
		if ($id_grupo != '' && valida::numero($id_grupo)){
			$this->id_grupo = $id_grupo;
			return 1;
		}else{
			return 0;
		}
	}
	public function set_nome($nome){
		$nome = addslashes($nome);
                if($nome != '' && valida::nome_num($nome)){
                    $this->nome = $nome;
                    return 1;
                }else{
                    return 0;
                }
	}
	public function set_quantidade($quantidade){
		if (valida::numero($quantidade)){
			$this->quantidade = $quantidade;
			return 1;
		}else{
			return 0;
		}
	}
	public function set_valorcusto($valorcusto){
		if (valida::float($valorcusto)){
                        $val = '';
                        for($i = 0; $i < strlen($valorcusto); $i++){
                            if($valorcusto[$i] == ','){
                                $val .= '.';
                            }else{
                                $val .= $valorcusto[$i];
                            }
                        }
			$this->valorcusto = $val;
			return 1;
		}else{
			return 0;
		}
	}
	public function set_valorvenda($valorvenda){
		if (valida::float($valorvenda)){
                        $val = '';
                        for($i = 0; $i < strlen($valorvenda); $i++){
                            if($valorvenda[$i] == ','){
                                $val .= '.';
                            }else{
                                $val .= $valorvenda[$i];
                            }
                        }
			$this->valorvenda = $val;
			return 1;
		}else{
			return 0;
		}
	}
	public function set_limitedesc($limitedesc){
		if (valida::float($limitedesc)){
			$this->limitedesc = $limitedesc;
			return 1;
		}else{
			return 0;
		}
	}
	public function set_datacompra($datacompra){
		$dia = substr($datacompra, 0, 2);
		$mes = substr($datacompra, 3, 2);
		$ano = substr($datacompra, 6, 4);
		
		if(valida::data($dia, $mes, $ano)){
			$this->datacompra = $ano."-".$mes."-".$dia;
			return 1;
		}else{
			return 0;
		}
	}
	public function set_datavenc($datavenc){
		$dia = substr($datavenc, 0, 2);
		$mes = substr($datavenc, 3, 2);
		$ano = substr($datavenc, 6, 4);
		
		if(valida::data($dia, $mes, $ano)){
			$this->datavenc = $ano."-".$mes."-".$dia;
			return 1;
		}else{
			return 0;
		}
	}
	public function set_minimo($minimo){
		if (valida::numero($minimo)){
			$this->minimo = $minimo;
			return 1;
		}else{
			return 0;
		}
	}
        public function set_filial($filial){
		if($filial == 0 || $filial == 1){
                        $this->filial = $filial;
                        return 1;
                }else{
                        return 0;
                }
	}
        
        
	
	
	public function salvar(){
		$sql = "insert into Produto(codebar, id_marca, id_grupo, nome, quantidade, valorcusto, valorvenda, limitedesc, datacompra, datavenc, minimo, filial) values('".$this->codebar."', '".$this->id_marca."', '".$this->id_grupo."', '".$this->nome."', '".$this->quantidade."', '".$this->valorcusto."', '".$this->valorvenda."', '".$this->limitedesc."', '".$this->datacompra."', '".$this->datavenc."', '".$this->minimo."', '".$this->filial."')";
		
		$con = db::conecta();
		$res = db::query($sql, $con);
		db::close($con);
		
		return $res;
	}
	public function alterar($parametro){
		$sql = "update Produto set codebar = '".$this->codebar."', id_marca = '".$this->id_marca."', id_grupo = '".$this->id_grupo."', nome = '".$this->nome."', quantidade = '".$this->quantidade."', valorcusto = '".$this->valorcusto."', valorvenda = '".$this->valorvenda."', limitedesc = '".$this->limitedesc."', datacompra = '".$this->datacompra."', datavenc = '".$this->datavenc."', minimo = '".$this->minimo."', filial = '".$this->filial."' where  codebar = '$parametro'";

		$con = db::conecta();
		$res = db::query($sql, $con);
		db::close($con);
		
		return $res;
	}
	public function carregar($parametro){
		$sql = "select * from Produto where codebar = '$parametro'";

		$con = db::conecta();
		$res = db::query($sql, $con);
		$Produto = db::fetch_array($res);
		
		$this->codebar = $Produto["codebar"];
		$this->id_marca = $Produto["id_marca"];
		$this->id_grupo = $Produto["id_grupo"];
		$this->nome = $Produto["nome"];
		$this->quantidade = $Produto["quantidade"];
		$this->valorcusto = $Produto["valorcusto"];
		$this->valorvenda = $Produto["valorvenda"];
		$this->limitedesc = $Produto["limitedesc"];
		$this->datacompra = $Produto["datacompra"];
		$this->datavenc = $Produto["datavenc"];
		$this->minimo = $Produto["minimo"];
                $this->filial = $Produto["filial"];
		db::close($con);
		
		return 1;
	}
        public function excluir($id){
            $sql = "delete from `".db::$database."`.Produto where codebar = '$id'";
            $conexao = db::conecta();
            $result = db::query($sql, $conexao);
            db::close($conexao);
            return $result;
        }
        
}
?>
